#include<graphics.h>
#include<conio.h>
#include<stdio.h>
int main()
{
	float width,height;
	width=600,height=400;
	initgraph(width,height);
	float ball_x,ball_y,radius,vy,g;
	radius=20;
	ball_x=width/4;
	ball_y=height-radius;
	vy=0;
	g=0.6;
	float rect_left_x,rect_top_y,rect_height,rect_width;
	rect_left_x=width*3/4;
	rect_height=100;
	rect_width=20;
	rect_top_y=height-rect_height;
	float rect_vx;
	rect_vx=-3;
	int score=0;
	while(1)
	{
		if(kbhit())
		{
			char input=_getch();
			if(input=' ')
			{
				vy=-12;
			}
		}
		vy=vy+g;
		ball_y=ball_y+vy;
		if(ball_y>=height-radius)
		{
			vy=0;
			ball_y=height-radius;
		}
		rect_left_x=rect_left_x+rect_vx;
	if(rect_left_x<=0)
	{
		score=score+1;
		rect_left_x=width;
		rect_height=rand()%int(height/5)+height/5;
		rect_vx=rand()/float(RAND_MAX)*4-7;
	}
	if((rect_left_x<=ball_x+radius)&&(rect_left_x+rect_width>=ball_x-radius)&&(height-rect_height<=ball_y+radius))
	{
		score=0;
		Sleep(100);
	}
	if((rect_left_x<=ball_x+radius)&&(rect_left_x+rect_width>=ball_x-radius)&&(70>=ball_y+radius))
	{
		score=0;
		Sleep(100);
	}
		

	cleardevice();
	fillrectangle(rect_left_x,height-rect_height,rect_left_x+rect_width,height);
	fillrectangle(rect_left_x,0,rect_left_x+rect_width,70);
	TCHAR s[20];
	_stprintf(s,_T("%d"),score);
	settextstyle(40,0,_T("宋体"));
	outtextxy(50,30,s);
	fillcircle(ball_x,ball_y,radius);
	Sleep(10);
	}
	_getch();
	closegraph();
	return 0;

}